Shell Scripting এবং Batch Script উভয়ই কমান্ড-লাইন স্ক্রিপ্টিং ভাষা, কিন্তু এগুলোর ব্যবহারের পরিবেশ এবং উদ্দেশ্য ভিন্ন। Shell Scripting সাধারণত Linux এবং macOS অপারেটিং সিস্টেমে ব্যবহৃত হয়, যেখানে Batch Script মূলত Windows অপারেটিং সিস্টেমে ব্যবহৃত হয়। তবে অনেক সময় আপনি চাইতে পারেন এক স্ক্রিপ্টের মধ্যে Shell এবং Batch scripting এর সংমিশ্রণ ঘটাতে, বিশেষ করে যদি আপনাকে Windows এবং Linux/macOS উভয় পরিবেশে একই স্ক্রিপ্ট চালাতে হয়।
এখানে, আমরা আলোচনা করবো কিভাবে Shell Scripting এবং Batch Script একসাথে ব্যবহার করা যায় এবং তাদের মধ্যে ইন্টারঅ্যাকশন কীভাবে ঘটানো যেতে পারে।
যেহেতু Shell Scripting এবং Batch Script বিভিন্ন অপারেটিং সিস্টেমে কাজ করে, সেক্ষেত্রে দুটি আলাদা স্ক্রিপ্ট লিখতে হতে পারে, কিন্তু কিছু উপায়ে একে অপরের সাথে যোগাযোগ করতে পারে।
Windows Subsystem for Linux (WSL) ব্যবহার করে আপনি Windows মেশিনে Linux শেল স্ক্রিপ্ট চালাতে পারেন। WSL ইনস্টল করার মাধ্যমে আপনি Windows-এ Bash শেল ব্যবহার করতে পারবেন এবং সেখানে Shell Scripting লিখে চালাতে পারবেন।
WSL ব্যবহার করে Batch Script এবং Shell Script একসাথে ব্যবহার করার একটি সাধারণ উদাহরণ:
@echo off
echo Running Linux Shell Script from Batch Script...
wsl bash -c "./path/to/shell-script.sh"
pause
এখানে:
wsl bash -c
কমান্ড দিয়ে আপনি Windows থেকে Linux শেল স্ক্রিপ্ট চালাতে পারেন।"./path/to/shell-script.sh"
হলো শেল স্ক্রিপ্টের পাথ যা আপনি WSL এর মধ্যে চালাতে চান।এভাবে আপনি Windows এর Batch Script দিয়ে Linux এর Shell Script চালাতে পারবেন।
এছাড়া, কখনও কখনও Batch Script এবং Shell Script একে অপরের সাথে ইন্টারঅ্যাক্ট করতে পারে। উদাহরণস্বরূপ, Batch Script দিয়ে Shell Script-এর ইনপুট পাস করা বা Shell Script থেকে আউটপুট ব্যবহার করা।
@echo off
echo "Hello from Batch Script" > input.txt
wsl bash -c "cat input.txt"
pause
এখানে:
এভাবে Batch Script দিয়ে Shell Script-এর ইনপুট পাঠানো যেতে পারে এবং আউটপুট ব্যবহার করা যেতে পারে।
এছাড়া, যদি আপনার প্রয়োজন হয় যে Shell Script থেকে Batch Script চালানো, তবে আপনি সহজেই cmd.exe
বা powershell
কমান্ড ব্যবহার করে এটি করতে পারবেন।
#!/bin/bash
echo "Running Batch Script from Shell Script..."
cmd.exe /c "path\to\your-batch-script.bat"
এখানে:
cmd.exe /c
কমান্ড দিয়ে আপনি একটি Batch Script চালাতে পারেন, যা Shell Script থেকে কল করা হচ্ছে।এভাবে আপনি Shell Script থেকে Batch Script কল করতে পারবেন।
ধরা যাক, আপনি একটি স্ক্রিপ্ট তৈরি করতে চান যা Windows এবং Linux উভয় পরিবেশে কাজ করবে। এটি করার জন্য আপনি কিছু কমান্ড ফাংশন তৈরি করতে পারেন যা উভয় সিস্টেমের জন্য উপযুক্ত হবে।
@echo off
echo "Checking Operating System..."
:: Check if WSL is available (Linux)
wsl uname -a >nul 2>&1
if %errorlevel%==0 (
echo "Running on Linux. Executing Shell Script..."
wsl bash -c "./linux-script.sh"
) else (
echo "Running on Windows. Executing Batch Script..."
call windows-script.bat
)
pause
এখানে:
এভাবে, আপনি একই স্ক্রিপ্ট দিয়ে উভয় অপারেটিং সিস্টেমে (Windows এবং Linux) কার্যকরভাবে কাজ করতে পারবেন।
যদিও Shell Scripting এবং Batch Script একসাথে ব্যবহার করা সম্ভব, তবে কিছু পার্থক্য মনে রাখতে হবে:
এ কারণে, উভয় সিস্টেমে স্ক্রিপ্ট তৈরি করার সময় আপনাকে পরিবেশের উপর ভিত্তি করে সঠিক কমান্ড ব্যবহার করতে হবে।
Batch Script এবং Shell Script একসাথে ব্যবহার করার মাধ্যমে আপনি Windows এবং Linux সিস্টেমে কার্যক্ষম স্ক্রিপ্ট তৈরি করতে পারেন। Windows Subsystem for Linux (WSL) ব্যবহার করে Batch Script থেকে Shell Script চালানো সম্ভব, অথবা উল্টোভাবে, Shell Script থেকে Batch Script কল করা যেতে পারে। এইভাবে, আপনি একাধিক প্ল্যাটফর্মে কার্যকরী স্ক্রিপ্ট তৈরি করতে পারেন, যা আপনার কাজের প্রক্রিয়াকে আরও সহজ এবং দক্ষ করে তুলবে।
common.read_more